package com.quad.innovators.salesease.model.form.warehouse;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.quad.innovators.salesease.model.entity.warehouse.ArrivalOrderDetail;

import java.io.Serializable;
import java.util.List;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;

/**
 * @author : shanshan.li
 * @createTime : 2024/10/20 11:10
 * @Version : 1.0 
 */
@Schema(description = "到货单单信息对象")
@Data
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class ArrivalOrderForm implements Serializable {

    @Schema(description = "订单的code")
    private String code;

    @Schema(description = "订单单号")
    private String orderNumber;

    @Schema(description = "采购单code")
    private String purchaseOrderCode;

    @NotBlank(message = "品牌方code不能为空")
    @Schema(description = "品牌方code")
    private String brandProviderCode;

    @NotBlank(message = "品牌方名称不能为空")
    @Schema(description = "品牌方名称")
    private String brandProviderName;

    @NotBlank(message = "仓库code不能为空")
    @Schema(description = "仓库code")
    private String warehouseCode;

    @NotBlank(message = "仓库名称不能为空")
    @Schema(description = "仓库名称")
    private String warehouseName;

    @Schema(description = "备注")
    private String remark;

    @NotEmpty(message = "到货单详情不能为空")
    @Schema(description = "到货单单详情")
    private List<ArrivalOrderDetailForm> arrivalOrderDetailFormList;
}
